엑셀 DATEDIF 함수는 두 날짜 사이의 기간을 연도, 월, 일 등 다양한 단위로 계산하는 함수입니다.
=DATEDIF(시작일, 종료일, 단위)
- Y : 연도, M : 월, D : 일
- MD : 월과 연도를 무시한 순수 일차이
→ 2018-01-01 과 2018-02-03 사이의 "MD" 계산값은 '2' 를 반환 - YM : 일과 연도를 무시한 개월 차이
→ 2018-01-01과 2019-04-01 사이의 "YM"은 '3'를 반환 - YD : 연도를 무시한 날짜차이
→ 2018-01-01과 2019-02-03 사이의 "YD"는 '33'을 반환 - "MD" 인수는 잘못된 결과를 반환할 수 있어 사용하지 않는 것을 권장합니다.
엑셀 DATEDIF 함수는 시작일과 종료일 사이의 기간을 연도, 월, 일 등 다양한 단위로 계산하는 함수입니다. 원래는 LOTUS1-2-3에서 사용되던 함수였으나 호환성을 위해 엑셀에서 추가로 지원하고 있습니다.
* LOTUS1-2-3 의 호환성 함수이므로 함수 목록에는 표시되지 않으며, 함수의 인수도 자동으로 완성되지 않습니다.

DATEDIF 함수는 두 날짜 사이의 꽉찬 기간을 계산(꽉차지 않을 경우 내림)합니다. 따라서 근속 년수, 나이, 감감상각 기간등 시작일을 기준으로 값이 증가하는 경우 DATEDIF 함수를 사용할 수 있습니다.
=DATEDIF("2022-01-01","2023-02-01","Y") / / 결과로 1을 반환합니다. (1년이 꽉차지 않을 경우 내림) =YEARFRAC("2022-01-01", "2023-02-01") / / 1.08333을 반환합니다. (꽉차지 않은 1년은 소수점 처리)
만약 두 날짜 사이의 정확한 기간을 계산해야 할 경우 YEARFRAC 함수를 사용하면 편리합니다. 또한 두 날짜 사이의 공휴일과 주말을 제외한 근무일수를 계산할 경우에는 NETWORKDAYS 함수를 사용합니다.
DATEDIF 함수 사용시 주의사항은 아래 1분 영상강의를 참고하세요!
=DATEDIF("2021-03-01", TODAY(), "Y") / / 2021년 3월 1일에 입사한 직원의 근속 연수를 계산합니다.
A2셀에 프로젝트 시작일, B2셀에 종료일이 작성된 경우 아래 함수는 두 날짜사이의 개월 차이를 계산합니다.
=DATEDIF(A2, B2, "M") / / 두 날짜 사이의 개월 수를 구합니다.
DATEDIF 함수는 꽉 찬 기간을 계산하지만, YEARFRAC 함수는 두 날짜 사이의 정확한 기간을 계산합니다.
=DATEDIF("2022-01-01", "2022-12-31", "Y") / / 결과: 0 =YEARFRAC("2022-01-01", "2022-12-31") / / 결과: 0.997267760 (약 0.997년)
따라서, 두 날짜 사이의 정확한 기간 계산이 필요한 경우 YEARFRAC 함수를 사용하는 것이 좋습니다.
DATEDIF 함수는 LOTUS1-2-3 함수 호환성함수로 함수 목록에 표시되지 않으며, 인수 자동 완성 기능을 지원하지 않습니다.
"MD"(월과 연도를 무시한 일차이) 단위의 경우 부정확한 결과가 나올 수 있으므로 사용 시 주의가 필요합니다.
시작일이 종료일 보다 늦을 경우 함수는 #NUM! 오류를 반환합니다.
DATEIDF 함수는 꽉찬 기간만을 계산합니다. 정확한 소수점 단위의 계산이 필요한 경우에는 YEARFARC 함수를 사용합니다.
공휴일과 주말을 제외한 근무일수 계산에는 NETWORKDAYS 함수를 사용합니다.
셀에 =datedif ( <- 요 괄호까지 포함해서 입력해보시겠어요?
제 답변이 도움이 되셨길 바랍니다.
감사합니다.
막상 날짜 함수 사용할 때 함수 안내 목록에 없어서 실제로 사용해보질 못했네요.
아 이제 사용법 숙지.
날짜 계산 필요로 했는데 DATEDIF함수 사용하면 되겠네요.
예를 들어 2018.12.15~2021.5.14 간881일의 주어진 기간중에서 다음 각각의 기간에 해당하는 일수를 계산하는 함수나 계산식 방법을 알고 싶어요
1) 2018.11.1~2019.10.31
2) 2019.11.1~2020.10.31
3) 2020.11.1~2021.10.31
COUNTIFS 함수를 사용해보세요.
=COUNTIFS(날짜범위,">="&DATE(2018,11,1),날짜범위,"<="&DATE(2019,10,31))
신속한 답변에 너무 감사합니다.
답변을 활용해 보니, countifs 함수라 셀의 갯수를 구해줬지만, 일수를 계산하지는 못합니다.
댓글에 올린대로, 주어진 기간내에서 특정 조건(연도별일정기간)에 맞는 일수를 계산하고 싶습니다. ㅜㅜ
아래 공식을 사용해보세요.
1. 시작일 2022-02-14, 종료일 2022-02-10
2.시작일 2022-06-30, 종료일 2022-05-31
#NUM! 이 뜨는데요, 이 값을 숫자 0으로 표현할 수 있을까요?
IFERROR 함수를 사용해보세요.
혹시 빈셀로 시작할 경우, 오류가 나거나 하게 계산하는 방법은 없을까요??
IF 함수를 사용하면 됩니다.
형태로 수식을 작성해보세요.
지금 ("시작일","오늘날짜","M") 이렇게 사용해서 진행일수를 자동으로 작성중입니다. 근데 이게 시작일이 오늘일자보다 뒤에일 경우는 오류가 떠서... 안되는데 이거 해결할 방법이 없을까요? -로 계산이 되던가 +로 계산이 되던가 하면 좋을거 같은데... 부탁드립니다.
시작일이 종료일보다 늦을 경우, 먼저 위치를 바꿔서 함수를 적용한 후, -1을 곱해서 음수로 사용해보세요.
감사합니다.
뒤의 DATEDIF 함수 뒤에 +1 을 더해보시길 바랍니다.
감사합니다.